就我所了解的TypeScript,它有點像是強化版本的JavaScript,例如說:你在JavaScript中寫一個Function,你帶入的參數在你的假想中它的型別為數字,但是當你帶入的資料為文字的時候,它不會顯示你因為型別錯誤而導致你的Function錯誤的,然後你就要找哪裡有錯誤就話多話一陣子的時間,好比說:
const add = (a, b) => a + b;
你預期中的呈現方式:
add(2, 3); return 5
但是當資料為文字的時候,
add('I', 'am'); return 'Iam'
還是可以動!!這就是JavaSript強大的地方~~(誤)~~
但是當使用TypeScript的時候就不會有這種問題發生,例如:
const add = (a: number, b: number) => a + b ;
add('Y', 'ou'); 顯示a ,b type not number
當你帶入的值不是number的時候它會跑出提醒你的參數不為number;
這樣很明顯就知道是型別的問題,而不用再去找問題點在哪,當然這只是TypeScript強大的地方之一!由於小弟最近在忙著趕專案,今天就來簡易介紹TypeScript有哪些Type,求各位大大鞭小力一點,有甚麼錯誤的立方再麻煩提點一下!!
true/false, 我相信這大家很常見!!
let open: boolean = true;
Number有判別不只是數字,它包括:( hexadecimal/ decimal literals/ binary/ octal literals ...etc,我現在才知道原來不只有識別數字原來有來其它的!!
let decimal: number = 5; // decimal literals let hex: number = 0xf00d; // hexadecimal let binary: number = 0b1010; // binary let octal: number = 0o744; // octal literals let big: bigint = 100n; //Bibint 有點像是大數字之類的意思
這個易懂--文字!!
cont lange: string = "English"
cont other: string = `I am ${name}`
const otherTwo: string = "I am" + "Jay"
它的組合很多,有文字陣列,數字...etc
1. let numberArray: number[] = [1, 2, 3];
2. let numerArrayTwo: Array<number> = [4, 5, 6];
它像是Array的大雜燴,假如你的Array中有包含string跟number...等等
let mixArray: [x: number, y: string] = [123, "number"];
mixArray = ["string", 123]; //這樣是不行的要跟上面的位置一模一樣!!不然會跳錯誤
mixArray.[2] = 1;//這樣也是不行得因為你設定的長度只有2,不能大於你預設的長度
尚未完全理解!!待補充!!
Loading ...
當你的變數不知道回傳是甚麼type的時候可以使用它,但是它不為任何型別。
let a: unknow = 4;
a = true;
a = "country";
a = 10;
const numberA: number = a; //它跳錯誤 a type not number
any像是甚麼都可以,但是還是少用any不然這樣使用TypeScript很沒效果
let anyType: any = 'a';
anyType = 5;
function no return value or value === null | undefined!
const add = ():void => console.log("123");
let value:void = undefined;
vlaue = null;
Null 跟 undefined 有自己的型別不過跟void很像!!不過這很少單獨使用,比較常跟其它混合使用
let a : string | null = "a";
有點像是沒有停止的function或者是當function還會傳至下一個funciton 或者動作時候可以使用
const error = (message: string): never => { throw new Error(message)};
const neverStop = (): never => { while(true){...} };
這看程式比較好懂,就我理解就是object
const create = (obj: object | null):void;
create({a: 0}); //OK!!
create(1); // not ok
以上就是基本的TypeScript的型別!!有任何錯誤可以多多提醒我一下感恩!!
引用(https://www.typescriptlang.org/docs/handbook/basic-types.html)